Skip to main content
Version: Preview

Vertex AI

Experimental
Creates:
AssetsLineageRun History

Configure in the UI

This plugin can be configured directly in the Marmot UI with a step-by-step wizard.

View Guide

The Vertex AI plugin discovers models, prediction endpoints, managed datasets, feature groups and pipeline jobs from a Google Cloud project.

Managed datasets and feature groups are both catalogued as Datasets, with a feature group's features as the schema. Pipeline jobs are catalogued as Jobs with run history.

Pipeline jobs are off by default because a project keeps a long job history. Turn them on with include_pipeline_jobs: true and set max_pipeline_jobs to how many recent runs you want.

Locations

Vertex AI has no wildcard location, and it serves regional resources from the location's own host rather than from the API's default one. List every region you use under locations; each one is scanned through its own endpoint.

Naming

Vertex AI display names are not unique, and the unique id is a meaningless number. An asset is named after its display name. When more than one resource of the same kind shares a display name, every one of them is named display name (resource id), so a name never depends on the order the API listed things in. The id is always in the resource_id metadata field.

A feature group is named after its id, which the user chooses and Vertex AI keeps unique within a project and location.

Lineage

EdgeMeaning
GCS bucket FEEDS modelThe bucket holding the model artifact
Model FEEDS endpointThe endpoint serves the model
Pipeline job PRODUCES modelThe job the model was produced by
BigQuery table FEEDS datasetThe table a tabular or time series dataset reads
GCS bucket FEEDS datasetThe bucket a dataset reads its files or blobs from
BigQuery table FEEDS feature groupThe table the feature group reads its features from

Edges into BigQuery and Cloud Storage name assets those plugins own. Marmot drops an edge whose other end is not catalogued.

Required Permissions

The service account needs read access to Vertex AI. The roles/aiplatform.viewer role covers every call this plugin makes: listing models, endpoints, datasets, feature groups, features and pipeline jobs.

Example Configuration


project_id: "acme-ml"
locations:
- "us-central1"
- "europe-west4"
credentials_file: "/etc/marmot/vertexai.json"
include_endpoints: true
include_datasets: true
include_feature_groups: true
include_pipeline_jobs: true
max_pipeline_jobs: 100
tags:
- "gcp"
- "ml"

With no credentials set, Application Default Credentials are used.

Configuration

The following configuration options are available:

PropertyTypeRequiredDescription
credentials_filestringfalsePath to service account JSON file
credentials_jsonstringfalseService account JSON content
disable_authboolfalseDisable authentication, for local testing
endpointstringfalseCustom endpoint URL, for testing against a local server
external_links[]ExternalLinkfalseExternal links to show on all assets
filterFilterfalseFilter discovered assets by name (regex)
include_datasetsboolfalseWhether to discover managed datasets
include_endpointsboolfalseWhether to discover prediction endpoints
include_feature_groupsboolfalseWhether to discover feature groups from the feature store
include_pipeline_jobsboolfalseWhether to discover pipeline jobs. Projects keep a long job history, so this is off by default
locations[]stringtrueRegions to scan
max_pipeline_jobsintfalseHow many recent pipeline jobs to read
project_idstringtrueGoogle Cloud project ID
tagsTagsConfigfalseTags to apply to discovered assets

Available Metadata

Every asset carries the common fields. A boolean field is only set when it is true, because the API omits a false one.

FieldTypeDescription
artifact_uristringCloud Storage directory holding the model artifact
base_model_sourcestringModel Garden name or Genie URI of the model this one is derived from
big_query_source_uristringBigQuery table a feature group reads its features from
column_namestringFeature id, in a feature group's schema
container_imagestringContainer image the model is served from
create_timestringWhen the resource was created
data_item_countintNumber of data items in a managed dataset
data_typestringFeature value type, lowercased, in a feature group's schema
dataset_kindstringKind of dataset, read from the metadata schema URI, for example image_1.0.0
dedicated_endpoint_dnsstringDNS name of the dedicated endpoint
dedicated_endpoint_enabledboolSet when the endpoint has a dedicated DNS name
denseboolSet when a feature group writes every feature on every row
deployed_model_countintNumber of models deployed to an endpoint, or of endpoints a model is deployed to
deployed_modelsstringDisplay names of the models deployed to an endpoint
display_namestringDisplay name Vertex AI shows, which it does not require to be unique
entity_id_columns[]stringColumns of the source table that identify an entity
error_messagestringWhy a pipeline job failed
end_timestringWhen a pipeline job finished
feature_countintNumber of features in a feature group, absent when the feature list could not be read
feature_group_idstringId of the feature group
label_<key>stringOne entry per resource label
locationstringRegion the resource lives in
metadata_schema_uristringSchema describing a model's or dataset's additional metadata
model_deployment_monitoring_jobstringId of the monitoring job watching an endpoint
model_referencestringModel a dataset was created for
networkstringVPC network an endpoint is peered with
pipeline_jobstringId of the pipeline job that produced a model
predict_schemata_instancestringSchema of a single prediction instance
predict_schemata_parametersstringSchema of the prediction parameters
predict_schemata_predictionstringSchema of a single prediction
project_idstringGoogle Cloud project the resource belongs to
resource_idstringVertex AI id of the resource, unique within its project and location
saved_query_countintNumber of saved queries defined on a dataset
schedule_namestringSchedule that created a pipeline run
service_accountstringService account a pipeline job ran as
service_account_emailstringService account a feature group reads its source with
source_urisstringBigQuery and Cloud Storage URIs a dataset reads from
start_timestringWhen a pipeline job started running
statestringPipeline state, for example PIPELINE_STATE_SUCCEEDED
static_data_sourceboolSet when a feature group's source table does not change
supported_deployment_resources_types[]stringResource types the model can be deployed with
supported_input_storage_formats[]stringInput formats the model accepts for batch prediction
supported_output_storage_formats[]stringOutput formats the model writes for batch prediction
template_uristringLocation of the pipeline template a run was compiled from
traffic_splitstringHow traffic is shared between deployed models, as id=percent pairs
training_pipelinestringId of the training pipeline that uploaded a model
update_timestringWhen the resource was last updated
version_aliases[]stringAliases a model version can be referenced by
version_create_timestringWhen a model version was created
version_descriptionstringDescription of a model version
version_idstringVersion of the model this entry describes

Statistics

MetricAssetMeaning
asset.data_item_countDatasetNumber of data items in a managed dataset, emitted even when zero
asset.column_countDatasetNumber of features in a feature group